#include <stdint.h>

#define VIDEO_ADDRESS 0xB8000
#define MAX_ROWS 25
#define MAX_COLUMNS 80
#define WHITE_ON_BLACK 0x0F	// attribute byte for a default color scheme

// screen device I/O ports
#define REG_SCREEN_CTRL 0x3D4
#define REG_SCREEN_DATA 0x3D5

void putch(uint8_t character, int row, int col, uint8_t attribute);
void putstr_at(char* message, int row, int col, uint8_t attribute);
void putstr(char* message);
void cls();
int getOffset(int row, int col);
int get_cursor();
void set_cursor(int offset);
int handle_scrolling(int offset);
